package com.xiaoq.manager.service;

import java.util.List;

import com.xiaoq.manager.entity.MerchantMgrEntity;
import com.xiaoq.users.entity.UserTermDeviceEntity;

public interface IManagerAccountService {
	
	  /**
	   * 根据邮箱创建一个管理员
	   * @param merchant
	   * @return
	   */
	  public MerchantMgrEntity createByEmail(MerchantMgrEntity merchant);
	
	  public MerchantMgrEntity createByCellphoneNumber(MerchantMgrEntity merchant);
	  
	  /**
	   * 使用邮箱登录
	   * @param email
	   * @param passwd
	   * @param termDevice
	   * @return
	   */
	  public MerchantMgrEntity loginByEmail(String email, String passwd, UserTermDeviceEntity termDevice);
	  
	  public MerchantMgrEntity loginByMobileAndPasswd(String mobile, String passwd, UserTermDeviceEntity termDevice);
	  
	  public MerchantMgrEntity findById(String id);
	  
	  /**
	   * 超级管理员添加一条维护管理员
	   * @param merchant
	   * @return
	   */
	  public MerchantMgrEntity addMerchantMgr(MerchantMgrEntity merchant);

	public MerchantMgrEntity save(MerchantMgrEntity merchant);
	  
	  
	  /**
	   * 
	   * @param mobile
	   * @param oldPwd
	   * @param newPwd
	   * @param name
	   * @param logoUrl
	   * @return
	   */
	  public boolean updateMgr(String mobile,String oldPwd,String newPwd,String name,String logoUrl);
	  
	  /**
	   * 重置密码
	   * @param mobile
	   * @param password
	   * @return
	   */
	  public boolean resetPassword(String mobile,String password);
	  
	  /**
	   * 编辑管理员
	   * @param merchant
	   * @return
	   */
	  public boolean updataMerchant(MerchantMgrEntity merchant);
	  
	/**
	 * 根据邮箱查询管理员信息
	 * 
	 * @param email
	 * @return
	 */
	public MerchantMgrEntity findByEmail(String email);
	
	/**
	 * 根据角色Id查询管理员列表
	 * @param roleId
	 * @return
	 */
	public List<MerchantMgrEntity> findByRoleId(String roleId,String shopId);
	
	
}
